package com.sx.zongzhi.modle;

import com.sx.zongzhi.bean.BuildingBean;
import com.sx.zongzhi.bean.BuildingListBean;
import com.sx.zongzhi.bean.BusinessBean;
import com.sx.zongzhi.bean.CheckFixedBean;
import com.sx.zongzhi.bean.HouseBean;
import com.sx.zongzhi.bean.OverseasBean;
import com.sx.zongzhi.bean.OverseasDetailBean;
import com.sx.zongzhi.bean.PopulationBean;
import com.sx.zongzhi.bean.PopulationDetailBean;
import com.sx.zongzhi.bean.PopulationFixedBean;
import com.sx.zongzhi.bean.PopulationFixedDetailBean;
import com.sx.zongzhi.bean.PopulationMoveBean;
import com.sx.zongzhi.bean.PopulationMoveDetailBean;
import com.sx.zongzhi.net.BasePageListBean;
import com.sx.zongzhi.net.BaseResult;

import java.util.List;
import java.util.Map;

import retrofit2.Call;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.QueryMap;


/**
 * Created by XZY on 2017/11/30.
 * api 接口定义
 */

public interface CollectService {


    /**
     * 获取户籍人口列表
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/findHouseholdStaffPage.action")
    Call<BaseResult<PopulationBean>> getPopHouseholdList(@QueryMap Map<String, Object> map);

    /**
     * 获取户籍人口详情
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/householdStaffInfoDetail.action")
    Call<BaseResult<PopulationDetailBean>> getPopHouseholdDetail(@QueryMap Map<String, Object> map);

    /**
     * 获取户籍人口业务信息
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/findBusinessInformationPersonnel.action")
    Call<BaseResult<List<BusinessBean>>> getBusinessList(@QueryMap Map<String, Object> map);

    /**
     *删除户籍人口
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/deleteHouseholdStaffById.action")
    Call<BaseResult<Boolean>> deletePopHousehold(@QueryMap Map<String, Object> map);

    /**
     *户籍人口验证身份证/户号
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/{Url}")
    Call<BaseResult<Boolean>> checkHouseHold(@Path("Url")String path,@QueryMap Map<String, Object> map);

    /**
     *户籍人口新增/修改
     */
    @POST("/mobile/comprehensiveGovernance/realizeHouseholdStaff/{Url}")
    Call<BaseResult<Boolean>> addHouseHold(@Path("Url")String path,@QueryMap Map<String, Object> map);

    /**
     * 获取流动人口列表
     */
    @POST("/mobile/comprehensiveGovernance/realizeFloatingPopulation/findFloatingPopulationPage.action")
    Call<BaseResult<PopulationMoveBean>> getPopMoveList( @QueryMap Map<String, Object> map);

    /**
     * 获取流动人口详情
     */
    @POST("/mobile/comprehensiveGovernance/realizeFloatingPopulation/floatingPopulationDetail.action")
    Call<BaseResult<PopulationMoveDetailBean>> getPopMoveDetail(@QueryMap Map<String, Object> map);

    /**
     *删除流动人口
     */
    @POST("/mobile/comprehensiveGovernance/realizeFloatingPopulation/deleteFloatingPopulationById.action")
    Call<BaseResult<Boolean>> deletePopMove(@QueryMap Map<String, Object> map);

    /**
     *流动人口验证身份证
     */
    @POST("/mobile/comprehensiveGovernance/realizeFloatingPopulation/hasDuplicatePopulation.action")
    Call<BaseResult<Boolean>> checkPopMove(@QueryMap Map<String, Object> map);

    /**
     *流动人口新增/修改
     */
    @POST("/mobile/comprehensiveGovernance/realizeFloatingPopulation/{Url}")
    Call<BaseResult<Boolean>> addPopMove(@Path("Url")String path,@QueryMap Map<String, Object> map);

    /**
     * 获取境外人口列表
     */
    @POST("/mobile/comprehensiveGovernance/overSeaPerson/{Url}")
    Call<BaseResult<OverseasBean>> getOverseasList(@Path("Url") String url, @QueryMap Map<String, Object> loginMap);

    /**
     * 获取境外人口详情
     */
    @POST("/mobile/comprehensiveGovernance/overSeaPerson/getOverSeaPersonById.action")
    Call<BaseResult<OverseasDetailBean>> getOverseasDetail(@QueryMap Map<String, Object> loginMap);


    /**
     *删除境外人口
     */
    @POST("/mobile/comprehensiveGovernance/overSeaPerson/deleteOverSeaPersonById.action")
    Call<BaseResult<Boolean>> deleteOverseas(@QueryMap Map<String, Object> map);

    /**
     *境外人口验证身份证
     */
    @POST("/mobile/comprehensiveGovernance/overSeaPerson/hasOverSeaPerson.action")
    Call<BaseResult<Boolean>> checkOverseas(@QueryMap Map<String, Object> map);

    /**
     *
     * 新增/修改境外人口
     */
    @POST("/mobile/comprehensiveGovernance/overSeaPerson/{Url}")
    Call<BaseResult<Boolean>> addOverseas(@Path("Url")String path,@QueryMap Map<String, Object> map);

    /**
     * 获取留守人口列表
     */
    @POST("/mobile/comprehensiveGovernance/leftBehindPeople/{Url}")
    Call<BaseResult<PopulationFixedBean>> getPopFixedList(@Path("Url") String path,@QueryMap Map<String, Object> map);

    /**
     * 获取留守人口详情
     */
    @POST("/mobile/comprehensiveGovernance/leftBehindPeople/getLeftBehindPeopleById.action")
    Call<BaseResult<PopulationFixedDetailBean>> getPopFixedDetail(@QueryMap Map<String, Object> map);


    /**
     *删除留守人口
     */
    @POST("/mobile/comprehensiveGovernance/leftBehindPeople/deleteLeftBehindPeople.action")
    Call<BaseResult<Boolean>> deleteFixed(@QueryMap Map<String, Object> map);

    /**
     *新增/修改留守人口
     */
    @POST("/mobile/comprehensiveGovernance/leftBehindPeople/{Url}")
    Call<BaseResult<Boolean>> addFixed(@Path("Url") String path,@QueryMap Map<String, Object> map);

    /**
     *检测是否存在相同号码的留守人员
     */
    @POST("/mobile/comprehensiveGovernance/leftBehindPeople/hasLeftBehindPeople.action")
    Call<BaseResult<CheckFixedBean>> checkFixed(@QueryMap Map<String, Object> map);

    /**
     * 实有房屋列表
     */
    @POST("/mobile/comprehensiveGovernance/houseInfo/findHouseInfoPage.action")
    Call<BaseResult<BasePageListBean<HouseBean>>> getFactHouseList(@QueryMap Map<String, Object> map);
    /**
     * 实有房屋详情
     */
    @POST("/mobile/comprehensiveGovernance/houseInfo/houseInfoDetail.action")
    Call<BaseResult<HouseBean>> getFactHouseDetail(@QueryMap Map<String, Object> map);
    /**
     * 实有房屋（添加）
     */
    @POST("/mobile/comprehensiveGovernance/houseInfo/addHouseInfo.action")
    Call<BaseResult<Boolean>> addFactHouse(@QueryMap Map<String, Object> map);
    /**
     * 实有房屋（删除）
     */
    @POST("/mobile/comprehensiveGovernance/houseInfo/deleteHouseInfo.action")
    Call<BaseResult<Boolean>> deleteFactHouse(@QueryMap Map<String, Object> map);
    /**
     * 实有房屋（修改）
     */
    @POST("/mobile/comprehensiveGovernance/houseInfo/updateHouseInfo.action")
    Call<BaseResult<Boolean>> updateFactHouse(@QueryMap Map<String, Object> map);

    /**
     * 获取楼宇列表
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/findBuilddatasPage.action")
    Call<BaseResult<BuildingListBean>> loadBuildingList(@QueryMap Map<String, Object> map);
    /**
     * 楼宇新增
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/{Url}")
    Call<BaseResult<Boolean>> addBuilding(@Path("Url") String path,@QueryMap Map<String, Object> map);
    /**
     * 楼宇删除
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/deleteBuilddatasById.action")
    Call<BaseResult<Boolean>> deleteBuilding(@QueryMap Map<String, Object> map);
    /**
     * 添加楼宇布局
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/addBuildLayout.action")
    Call<BaseResult<Boolean>> addBuildingLayout(@QueryMap Map<String, Object> map);

    /**
     * 获取布局列表
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/getBuildLayout.action")
    Call<BaseResult<BuildingBean>> loadBuildLayoutList(@QueryMap Map<String, Object> map);

    /**
     * 绑定楼宇
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/bindHouseInfo.action")
    Call<BaseResult<Boolean>> bindBuilding(@QueryMap Map<String, Object> map);
    /**
     * 解绑楼宇
     */
    @POST("/mobile/comprehensiveGovernance/builddatas/unbundledHouseInfo.action")
    Call<BaseResult<Boolean>> unbindBuilding(@QueryMap Map<String, Object> map);
}
